A data network can transmit identical streams of data packets through multiple data links to a terminal. Different data links, however, experience different data packet errors. Due to the best effort type network and varying latency between the core network and base stations, the data links can have varying delays to each other larger than the size of a window utilized by a processing unit of a terminal. They can be categorized as an out-of-synchronization (SYNC) data link. When the data links are out of SYNC, the data processing capability at the terminal is degraded, and various problems such as the following may be introduced. The error rate seen by an upper layer of a signaling protocol stack is increased. A window at the terminal cannot maintain all the out-of-sequence data packets. The data packets from the data links that are running behind will be discarded. A continuous and ordered data stream cannot be formed and delivered to the upper layer of the signaling protocol stack.
One approach to handling some of these problems relies solely on a network. The network, however, needs to maintain the latency among all data links, which are carrying the data stream. Since the network such as the packet switch network is a best effort network, it does not guarantee a tight upper bound of the latency. The variation of the delay depends highly on the current traffic loading in base stations. When the data links are out of SYNC due to the large latency between data links, an attempt to selectively combine data links would adversely degrade the data processing performance. An in-sequence stream of data packet would become difficult to form. A network may have a mechanism to tighten the latency upper bound by incorporating a quality of service (QoS) architecture. However, this approach would involve modification in many entities in the core network. It would also be tremendously complicated to maintain.